package com.e_library.dao.classes;

import java.util.List;

import javax.persistence.EntityManager;
import javax.persistence.PersistenceContext;

import com.e_library.jpa.entities.Editeur;
import com.e_library.jpa.entities.Main;



public class EditeurDaoImpl implements EditeurIDao{

	private EntityManager em;
    public EditeurDaoImpl() {
    	Main m=new Main();
          em=m.em;
          em.getTransaction().begin();
	}
	 public void deleteOne(String id) {
		 Editeur  editeur= em.find(Editeur.class, id);
	 if (editeur == null) {
	throw new DaoException(2);
	}
	em.remove(editeur);
	 em.getTransaction().commit();
	 }
	
	@SuppressWarnings("unchecked")
  public List<Editeur> getAll() {
	 return em.createQuery("select p from Editeur p").getResultList();
	 }
	
	 @SuppressWarnings("unchecked")
	 public List<Editeur> getAllLike(String modele) {
	 return em.createQuery("select p from Editeur p where p.numero_editeur like :modele")
	 .setParameter("modele", modele).getResultList();
	 }
	
	 public Editeur getOne(String id) {
	 return em.find(Editeur.class, id);
	 }
	

	 public Editeur saveOne(Editeur editeur) {
	 em.persist(editeur);
	 em.getTransaction().commit();
	 return editeur;
}
	
	 
	 public Editeur updateOne(Editeur editeur) {
		 
		Editeur editeur2=em.merge(editeur);
		 em.getTransaction().commit();
	     return editeur2;
	 }
	
}
